System and method of voting via an interactive television system

ABSTRACT

Disclosed are a system and method of voting via an interactive television system. In a particular embodiment, the method includes identifying data embedded within video content sent to a set-top box device via an access network of an Internet Protocol Television (IPTV) system, the data indicating a voting event related to the video content. The method also includes sending data related to a voting indicator to the set-top box device, wherein the voting indicator includes a selectable indicator of an option to cast a vote related to the video content. The method also includes determining whether payment information is required in order to accept a vote related to the video content. The method also includes sending data related to a voting interface to the set-top box device and receiving a voting selection from the set-top box device.

FIELD OF THE DISCLOSURE

The present disclosure relates generally to voting via an interactivetelevision system.

BACKGROUND

Television viewing is part of daily life for many people. The wealth ofcontent available from television service providers allows many peopleto find entertaining and informative programming despite their varyinginterests. Some television programs allow viewers to vote for variousperformers, polling options, and the like. Nonetheless, viewerstypically have to vote by telephone or computing devices coupled to theInternet, particularly when payment is required in order to cast a vote.Hence, there is a need for an improved system and method of voting viaan interactive television system.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a particular illustrative embodiment of asystem to vote via an interactive television system;

FIG. 2 is a block diagram of a second particular illustrative embodimentof a system to vote via an interactive television system;

FIG. 3 is a flow diagram of a particular illustrative embodiment of amethod of voting via an interactive television system;

FIG. 4 is a flow diagram of a second particular illustrative embodimentof a method of voting via an interactive television system;

FIG. 5 is a diagram of a particular illustrative embodiment of agraphical user interface to vote via an interactive television system;

FIG. 6 is a diagram of a second particular illustrative embodiment of agraphical user interface to vote via an interactive television system;and

FIG. 7 is a diagram of an illustrative embodiment of a general computersystem.

DETAILED DESCRIPTION OF THE DRAWINGS

A set-top box device is disclosed and includes a processor and a memorydevice accessible to the processor. In a particular embodiment, thememory device can include instructions to communicate with a server ofan Internet Protocol Television (IPTV) system to receive video contentvia a private access network of the IPTV system. Further, the memorydevice can include instructions to communicate with a voting server ofthe IPTV system to receive data related to a first graphical userinterface (GUI), where the first GUI includes an instruction to select akey of a remote control to cast a vote related to the video content. Inaddition, the memory device can include instructions to send a requestto the voting server to cast a vote related the video content, inresponse to a selection of the key at the remote control. Moreover, thememory device can include instructions to communicate with the votingserver to receive data related to a second GUI and to send paymentinformation received from a user via the second GUI to the votingserver. The memory device can also include instructions to communicatewith the voting server to receive data related to a third GUI, whereinthe third GUI includes at least one selectable voting option related tothe video content.

In a particular embodiment, a method of voting via an interactivetelevision system is disclosed and includes identifying data embeddedwithin video content sent to a set-top box device via an access networkof an Internet Protocol Television (IPTV) system, the data indicating avoting event related to the video content. The method also includessending data related to a voting indicator to the set-top box device,wherein the voting indicator includes a selectable indicator of anoption to cast a vote related to the video content. The method alsoincludes determining whether payment information is required in order toaccept a vote related to the video content. The method also includessending data related to a voting interface to the set-top box device andreceiving a voting selection from the set-top box device.

In another particular embodiment, a method of voting via an interactivetelevision system is disclosed and includes receiving video content at aset-top box device via an access network of an Internet ProtocolTelevision (IPTV) system. The method also includes receiving datarelated to a voting indicator at the set-top box device from a server ofthe IPTV system, where the voting indicator includes an instruction toselect a key of a remote control communicating with the set-top boxdevice to cast a vote related to the video content. The method alsoincludes sending a request to the server to cast a vote related thevideo content, in response to a selection of the key at the remotecontrol. The method also includes sending payment information to theserver, where the payment information is received at the set-top boxdevice via a payment interface. The method further includes receivingdata related to a voting interface from the server.

In another particular embodiment, a computer-readable medium isdisclosed and includes a group of instructions executable to send datarelated to a voting indicator to a set-top box device, where the votingindicator includes a selectable indicator of an option to cast a voterelated to video content received at the set-top box device. Thecomputer-readable medium also includes instructions to send data relatedto a voting interface to the set-top box device after paymentinformation is received from the set-top box device.

Referring to FIG. 1, an illustrative embodiment of an Internet ProtocolTelevision (IPTV) system that may be used to vote is illustrated and isgenerally designated 100. As shown, the system 100 can include a clientfacing tier 102, an application tier 104, an acquisition tier 106, andan operations and management tier 108. Each tier 102, 104, 106, 108 iscoupled to a private network 110; to a public network 112, such as theInternet; or to both the private network 110 and the public network 112.For example, the client-facing tier 102 can be coupled to the privatenetwork 110. Further, the application tier 104 can be coupled to theprivate network 110 and to the public network 112. The acquisition tier106 can also be coupled to the private network 110 and to the publicnetwork 112. Additionally, the operations and management tier 108 can becoupled to the public network 112.

As illustrated in FIG. 1, the various tiers 102, 104, 106, 108communicate with each other via the private network 110 and the publicnetwork 112. For instance, the client-facing tier 102 can communicatewith the application tier 104 and the acquisition tier 106 via theprivate network 110. The application tier 104 can communicate with theacquisition tier 106 via the private network 110. Further, theapplication tier 104 can communicate with the acquisition tier 106 andthe operations and management tier 108 via the public network 112.Moreover, the acquisition tier 106 can communicate with the operationsand management tier 108 via the public network 112. In a particularembodiment, elements of the application tier 104, including, but notlimited to, a client gateway 150, can communicate directly with theclient-facing tier 102.

The client-facing tier 102 can communicate with user equipment via anaccess network 166, such as an Internet Protocol Television (IPTV)access network. In an illustrative embodiment, customer premisesequipment (CPE) 114, 122 can be coupled to a local switch, router, orother device of the access network 166. The client-facing tier 102 cancommunicate with a first representative set-top box device 116 via thefirst CPE 114 and with a second representative set-top box device 124via the second CPE 122. In a particular embodiment, the firstrepresentative set-top box device 116 and the first CPE 114 can belocated at a first customer premise, and the second representativeset-top box device 124 and the second CPE 122 can be located at a secondcustomer premise. In another particular embodiment, the firstrepresentative set-top box device 116 and the second representativeset-top box device 124 can be located at a single customer premise, bothcoupled to one of the CPE 114, 122. The CPE 114, 122 can includerouters, local area network devices, modems, such as digital subscriberline (DSL) modems, any other suitable devices for facilitatingcommunication between a set-top box device and the access network 166,or any combination thereof.

In an exemplary embodiment, the client-facing tier 102 can be coupled tothe CPE 114, 122 via fiber optic cables. In another exemplaryembodiment, the CPE 114, 122 can be digital subscriber line (DSL) modemsthat are coupled to one or more network nodes via twisted pairs, and theclient-facing tier 102 can be coupled to the network nodes viafiber-optic cables. Each set-top box device 116, 124 can process datareceived via the access network 166, via an IPTV software platform, suchas Microsoft® TV IPTV Edition.

The first set-top box device 116 can be coupled to a first externaldisplay device, such as a first television monitor 118, and the secondset-top box device 124 can be coupled to a second external displaydevice, such as a second television monitor 126. Moreover, the firstset-top box device 116 can communicate with a first remote control 120,and the second set-top box device 124 can communicate with a secondremote control 128. The set-top box devices 116, 124 can include IPTVset-top box devices; video gaming devices or consoles that are adaptedto receive IPTV content; personal computers or other computing devicesthat are adapted to emulate set-top box device functionalities; anyother device adapted to receive IPTV content and transmit data to anIPTV system via an access network; or any combination thereof.

In an exemplary, non-limiting embodiment, each set-top box device 116,124 can receive data, video, or any combination thereof, from theclient-facing tier 102 via the access network 166 and render or displaythe data, video, or any combination thereof, at the display device 118,126 to which it is coupled. In an illustrative embodiment, the set-topbox devices 116, 124 can include tuners that receive and decodetelevision programming signals or packet streams for transmission to thedisplay devices 118, 126. Further, the set-top box devices 116, 124 caninclude a STB processor 170 and a STB memory device 172 that isaccessible to the STB processor 170. In one embodiment, a computerprogram, such as the STB computer program 174, can be embedded withinthe STB memory device 172.

In an illustrative embodiment, the client-facing tier 102 can include aclient-facing tier (CFT) switch 130 that manages communication betweenthe client-facing tier 102 and the access network 166 and between theclient-facing tier 102 and the private network 110. As illustrated, theCFT switch 130 is coupled to one or more data servers, such as D-servers132, that store, format, encode, replicate, or otherwise manipulate orprepare video content for communication from the client-facing tier 102to the set-top box devices 116, 124. The CFT switch 130 can also becoupled to a terminal server 134 that provides terminal devices with aconnection point to the private network 110. In a particular embodiment,the CFT switch 130 can be coupled to a video-on-demand (VOD) server 136that stores or provides VOD content imported by the IPTV system 100.Further, the CFT switch 130 is coupled to one or more multicast videoservers 180 that receive video content and multicast the video contentto the set-top boxes 116, 124 via the access network 166. In addition,the CFT switch 130 can be coupled to one or more voting servers 182 thatprovide one or more voting functions, such as selling, creating,storing, tallying, distributing, confirming, providing user interfaces,monitoring video content, or other functions related to voting.

In an illustrative embodiment, the client-facing tier 102 cancommunicate with a large number of set-top boxes, such as therepresentative set-top boxes 116, 124 over a wide geographic area, suchas a metropolitan area, a viewing area, a statewide area, a regionalarea, a nationwide area or any other suitable geographic area, marketarea, or subscriber or customer group that can be supported bynetworking the client-facing tier 102 to numerous set-top box devices.In a particular embodiment, the CFT switch 130, or any portion thereof,can include a multicast router or switch that communicates with multipleset-top box devices via a multicast-enabled network.

As illustrated in FIG. 1, the application tier 104 can communicate withboth the private network 110 and the public network 112. The applicationtier 104 can include a first application tier (APP) switch 138 and asecond APP switch 140. In a particular embodiment, the first APP switch138 can be coupled to the second APP switch 140. The first APP switch138 can be coupled to an application server 142 and to an OSS/BSSgateway 144. In a particular embodiment, the application server 142 canprovide applications to the set-top box devices 116, 124 via the accessnetwork 166, which enable the set-top box devices 116, 124 to providefunctions, such as interactive program guides, video gaming, display,messaging, processing of VOD material and other IPTV content, etc. In aparticular embodiment, the OSS/BSS gateway 144 includes operationsystems and support (OSS) data, as well as billing systems and support(BSS) data. In one embodiment, the OSS/BSS gateway 144 can provide orrestrict access to an OSS/BSS server 164 that stores operations andbilling systems data.

The second APP switch 140 can be coupled to a domain controller 146 thatprovides Internet access, for example, to users at their computers 168via the public network 112. For example, the domain controller 146 canprovide remote Internet access to IPTV account information, e-mail,personalized Internet services, or other online services via the publicnetwork 112. In addition, the second APP switch 140 can be coupled to asubscriber and system store 148 that includes account information, suchas account information that is associated with users who access the IPTVsystem 100 via the private network 110 or the public network 112. In anillustrative embodiment, the subscriber and system store 148 can storesubscriber or customer data and create subscriber or customer profilesthat are associated with IP addresses, stock-keeping unit (SKU) numbers,other identifiers, or any combination thereof, of corresponding set-topbox devices 116, 124. In a particular embodiment, the second APP switch140 can be coupled to a communication server 192 that can communicatewith a user phone 188, such as a Voice-over Internet Protocol (VoIP)phone via the public network 112.

In a particular embodiment, the application tier 104 can include aclient gateway 150 that communicates data directly to the client-facingtier 102. In this embodiment, the client gateway 150 can be coupleddirectly to the CFT switch 130. The client gateway 150 can provide useraccess to the private network 110 and the tiers coupled thereto. In anillustrative embodiment, the set-top box devices 116, 124 can access theIPTV system 100 via the access network 166, using information receivedfrom the client gateway 150. User devices can access the client gateway150 via the access network 166, and the client gateway 150 can allowsuch devices to access the private network 110 once the devices areauthenticated or verified. Similarly, the client gateway 150 can preventunauthorized devices, such as hacker computers or stolen set-top boxdevices from accessing the private network 110, by denying access tothese devices beyond the access network 166.

For example, when the first representative set-top box device 116accesses the client-facing tier 102 via the access network 166, theclient gateway 150 can verify subscriber information by communicatingwith the subscriber and system store 148 via the private network 110.Further, the client gateway 150 can verify billing information andstatus by communicating with the OSS/BSS gateway 144 via the privatenetwork 110. In one embodiment, the OSS/BSS gateway 144 can transmit aquery via the public network 112 to the OSS/BSS server 164. After theclient gateway 150 confirms subscriber and/or billing information, theclient gateway 150 can allow the set-top box device 116 to access IPTVcontent and VOD content at the client-facing tier 102. If the clientgateway 150 cannot verify subscriber information for the set-top boxdevice 116, e.g., because it is connected to an unauthorized twistedpair, the client gateway 150 can block transmissions to and from theset-top box device 116 beyond the access network 166.

As indicated in FIG. 1, the acquisition tier 106 includes an acquisitiontier (AQT) switch 152 that communicates with the private network 110.The AQT switch 152 can also communicate with the operations andmanagement tier 108 via the public network 112. In a particularembodiment, the AQT switch 152 can be coupled to a live acquisitionserver 154 that receives or acquires television content, movie content,advertisement content, other video content, or any combination thereof,from a broadcast service 156, such as a satellite acquisition system orsatellite head-end office. In a particular embodiment, the liveacquisition server 154 can transmit content to the AQT switch 152, andthe AQT switch 152 can transmit the content to the CFT switch 130 viathe private network 110.

In an illustrative embodiment, content can be transmitted to theD-servers 132, where it can be encoded, formatted, stored, replicated,or otherwise manipulated and prepared for communication from the videoserver(s) 180 to the set-top box devices 116, 124. The CFT switch 130can receive content from the video server(s) 180 and communicate thecontent to the CPE 114, 122 via the access network 166. The set-top boxdevices 116, 124 can receive the content via the CPE 114, 122, and cantransmit the content to the television monitors 118, 126. In anillustrative embodiment, video or audio portions of the content can bestreamed to the set-top box devices 116, 124.

Further, the AQT switch 152 can be coupled to a video-on-demand importerserver 158 that receives and stores television or movie content receivedat the acquisition tier 106 and communicates the stored content to theVOD server 136 at the client-facing tier 102 via the private network110. Additionally, at the acquisition tier 106, the video-on-demand(VOD) importer server 158 can receive content from one or more VODsources outside the IPTV system 100, such as movie studios andprogrammers of non-live content. The VOD importer server 158 cantransmit the VOD content to the AQT switch 152, and the AQT switch 152,in turn, can communicate the material to the CFT switch 130 via theprivate network 110. The VOD content can be stored at one or moreservers, such as the VOD server 136.

When users issue requests for VOD content via the set-top box devices116, 124, the requests can be transmitted over the access network 166 tothe VOD server 136, via the CFT switch 130. Upon receiving suchrequests, the VOD server 136 can retrieve the requested VOD content andtransmit the content to the set-top box devices 116,124 across theaccess network 166, via the CFT switch 130. The set-top box devices 116,124 can transmit the VOD content to the television monitors 118, 126. Inan illustrative embodiment, video or audio portions of VOD content canbe streamed to the set-top box devices 116, 124.

FIG. 1 further illustrates that the operations and management tier 108can include an operations and management tier (OMT) switch 160 thatconducts communication between the operations and management tier 108and the public network 112. In the embodiment illustrated by FIG. 1, theOMT switch 160 is coupled to a TV2 server 162. Additionally, the OMTswitch 160 can be coupled to an OSS/BSS server 164 and to a simplenetwork management protocol (SNMP) monitor 186 that monitors networkdevices within or coupled to the IPTV system 100. In a particularembodiment, the OMT switch 160 can communicate with the AQT switch 152via the public network 112.

In an illustrative embodiment, the live acquisition server 154 cantransmit content to the AQT switch 152, and the AQT switch 152, in turn,can transmit the content to the OMT switch 160 via the public network112. In this embodiment, the OMT switch 160 can transmit the content tothe TV2 server 162 for display to users accessing the user interface atthe TV2 server 162. For example, a user can access the TV2 server 162using a personal computer 168 coupled to the public network 112.

In a particular illustrative embodiment, one or more set-top boxdevices, such as the second representative set-top box device 124, canreceive video content of a particular channel from one of the multicastvideo servers 180. In an illustrative embodiment, the video content caninclude Motion Picture Experts Group4 (MPEG-4) channel content multicastto the set-top box device via a MPEG-2 transport stream. The votingserver 182 can monitor the video content for triggers or other dataindicating a voting event. When a voting event is indicated, the votingserver 182 can send to the second representative set-top box device 124an indicator of an option to cast a vote related to the video content,such as a talent competition, a news poll, or other video content. In aparticular embodiment, the indicator can be a first graphical userinterface (GUI), such as a voting indicator, that includes aninstruction to press a particular key, or any key, on a remote controldevice in order to cast a vote related to the video content. In anillustrative embodiment, the indicator can be a pop-up interface. Anexample of a GUI to indicate an option to vote is illustrated in FIG. 5.

In a particular embodiment, a user can issue a command to the secondset-top box device 124 indicating a selection to cast a vote related tothe video content. In a particular embodiment, the command can be aselection of a particular key, or any key, on a remote control devicecommunicating with the second representative set-top box device 124. Inresponse to the command, the second representative set-top box device124 can send a request to vote to the voting server 182. The votingserver 182 can send to the second representative set-top box device 124a voting interface, such as a second GUI, that includes one or moreselectable voting options related to the video content. In oneembodiment, the second GUI can include video content of a votingchannel. In another embodiment, the second GUI can overlay video contentto which voting is related. In an illustrative embodiment, the votingserver can establish a secure connection, such as a secure socket layerconnection, with the second representative set-top box device 124 priorto sending data related to the voting interface.

For example, during a talent competition, a user may be presented withan option to vote for a particular performer after a particularperformance. Thus, the voting interface would present a single votingoption in response to a request to vote that is issued after aparticular voting trigger. In another example, a user may be presentedwith an option to vote only after all performers have performed. Thus,the voting interface would present multiple voting options. The votingserver 184 can store selectable voting options related to video contentor data embedded in the video content, such as the data indicating avoting event, can include the selectable voting options related thereto.In an illustrative embodiment, the voting interface can be a ballotinterface. An example of a voting interface is illustrated in FIG. 6.

In a particular embodiment, a user can enter a selection of a votingoption via the voting interface at the second representative set-top boxdevice 124, and the second representative set-top box device 124 cansend the selection to the voting server 182. The voting server 182 canadd the selection of the voting option to a tally of votes related tothe video content.

In an illustrative embodiment, the voting server 182 can validate that aselection of an option to vote, a voting selection, or any combinationthereof, has been issued by a set-top box device associated with a userof the IPTV system, for example, by prompting the user to enter anauthentication token, by determining that the selection has been sentfrom an IP address associated with the set-top box device, or by othermeans of validating a source of the selection of the voting option. Thevoting server 182 can perform a validation process before sending thevoting interface, before adding a voting selection to the tally ofvotes, or any combination thereof.

In another particular embodiment, the voting server 182 can determine avoting status of the second representative set-top box device 124 or auser associated therewith. For example, upon receiving a request to votevia the indicator of an option to vote, the voting server 182 can accessa record of users, set-top box devices, or any combination thereof,which indicates whether a vote related to the video content has beenreceived from the second representative set-top box device 124, from oneor more particular users associated with the second representativeset-top box device 124, or any combination thereof. If only one voterelated to the video content may be cast by a user or at a set-top boxdevice, and the voting server 182 determines that a voting selectionrelated to the video content has been received from the secondrepresentative set-top box device 124 or a user logged on at the secondrepresentative set-top box device 124, the voting server 182 can refuseto send a voting interface to the second representative set-top boxdevice 124, refuse to accept or tally any additional votes from thesecond representative set-top box device 124, or any combinationthereof. Otherwise, the voting server 182 can accept a vote from thesecond representative set-top box device 124 and update one or morerecords to reflect that a vote has been received from the set-top boxdevice, from a user logged on at a set-top box device, or anycombination thereof. The voting server 182 can check a voting status ofa set-top box, user, or any combination thereof, before sending anindicator of an option to vote, before sending a voting interface,before adding a voting selection to a tally of votes, or any combinationthereof.

In a particular embodiment, the voting server 182 can determine whetherpayment is required in order to cast a vote related to the videocontent. For example, votes cast for a talent competition may cost $1.99each. In an illustrative embodiment, data embedded within a stream ofvideo data, such as the data indicating a voting event, can indicatethat payment is required to vote. If the voting server 182 determinesthat payment is required to cast a vote related to video content, thevoting server 182 can send to the second representative set-top boxdevice 124 a payment interface, such as a third GUI, that allows a userto input payment information, such as a financial account number orother payment information. In an illustrative embodiment, the votingserver 182 can be configured to require entry of valid paymentinformation before sending a voting interface to the secondrepresentative set-top box device 124, before accepting or tallyingvotes from second representative set-top box device 124, or anycombination thereof. Further, the voting server 182 can confirm paymentinformation, for instance, by comparing payment information received viathe payment interface with payment information stored at the OSS/BSSserver 164, the subscriber and system store 148, a computing device of acredit provider or other financial institution, or any combinationthereof.

In an illustrative embodiment, the voting server 182 can send aconfirmation to the second representative set-top box device 124indicating that a voting selection has been received at the votingserver 124, that the voting selection has been added to the tally ofvotes, or any combination thereof. Further, in an illustrativenon-limiting embodiment, the voting server 182 can send a confirmationto one or more computing devices, Voice-over Internet Protocol (VoIP)phones, or other devices associated with the second representativeset-top box device 124. For instance, the voting server 182 can send aconfirmation via the private network 110 to a user computing device 169,a VoIP phone 189, or any combination thereof, coupled to the second CPE122. In another embodiment, the voting server 182 can send aconfirmation to the domain controller 146 for communication to the usercomputing device 168 via the public network 110. In another example, thevoting server 182 can send a confirmation to the communication server192 for communication to the VoIP phone 188 via the public network 110.

In an illustrative embodiment, the voting server 182 can transfer votingselections, tallies of voting selections, or any combination thereof, toservers, data stores, or other devices within or outside of the IPTVsystem. For example, the voting server 182 can send tallies of votes toa data store or server associated with a television program, televisionchannel, voting certification entity, or other party. In anotherexample, the voting server 182 can store tallies of votes ascustomer-wide polls.

In a particular embodiment, the voting server 182 can separate eachvoting selection from information identifying a source of the votingselection, such as an identifier of a user or set-top box device, beforetallying votes, before transferring tallies of votes, before determininga voting selection, or any combination thereof. For example, where avoting interface includes a plurality of selectable voting options, suchas multiple performers, the voting server 182 can receive data relatedto the entire voting interface from the second representative set-topbox device 124. After validating the source of the data, the votingserver 182 can discard identifying information related to the sourcebefore determining which of the selectable voting options was selected.

Referring to FIG. 2, a second particular embodiment of a system to votevia an interactive television system is illustrated and designatedgenerally at 200. The system 200 includes a set-top box device 202 thatcommunicates with a voting server 232 of an Internet Protocol Television(IPTV) system via an IPTV access network 230.

As illustrated in FIG. 2, the set-top box device 202 includes a STBprocessor 204 and a memory device 206 accessible to the STB processor204. In an illustrative, non-limiting embodiment, the STB processor 204can communicate with the IPTV access network 230, via the networkinterface 208. In a particular embodiment, network access customerpremises equipment (CPE) 228 can facilitate communication between thenetwork interface 208 and the IPTV access network 230. The networkaccess CPE 228 can include a router, a local area network device, amodem, such as a digital subscriber line (DSL) modem, any other suitabledevice for facilitating communication between the network interface 208of the set-top box device 202 and the IPTV access network 230, or anycombination thereof. Further, the STB processor 204 can communicatevideo content, graphical user interfaces, and other images and contentto a display device 212 via a display interface 210. In addition, theSTB processor 204 can receive commands from a remote control device 218via a remote interface 216.

In a particular embodiment, the memory device 206 can include a videocontent control and buffer module 220 that is executable by the STBprocessor 204 to receive video content via the IPTV access network 230and to buffer the video content before transmitting it to the displayinterface 210, in order to prevent underflow. The video content controland buffer module 220 can be executable by the STB processor 204 tocommunicate with the voting server 232, a video server, or anycombination thereof, to receive video content to which one or morevoting options are related, such as a talent competition or a pollingprogram.

In a particular embodiment, the memory device 206 can include agraphical user interface (GUI) module 222 that is executable by the STBprocessor 204 to communicate with the voting server 232 to receive oneor more graphical user interfaces associated with voting. For example,the GUI module can be executable by the processor 204 to communicatewith the voting server 232 to receive a first GUI, such as a votingindicator, from the voting server 232 that includes an indication that auser may cast a vote related to video content. In an illustrativeembodiment, the first GUI can include an instruction to select aparticular key, or any key, on the remote control device 218 to indicatea desire to cast a vote related to the video content. In addition, theGUI module can be executable by the processor 204 to receive a first GUIfrom the voting server 232 that allows a user to input paymentinformation that is sent by the set-top box device 202 to the votingserver 232. Further, the GUI module can be executable by the processor204 to receive a third GUI from the voting server 232 that allows a userto input a selection of one or more selectable voting options that issent to the voting server 232. In an illustrative embodiment, the GUImodule can be executable by the processor 204 to receive data related toone or more GUI's and to generate the GUI(s) based on the data.Moreover, the GUI module can be executable by the processor 204 to sendthe GUI's to the display device 212.

In a particular embodiment, the memory device 206 can include a commandmodule 224 that is executable by the STB processor 204 to processcommands received from the remote control device 218. For example, thecommand module 224 can be executable by the STB processor 204 torecognize the selection of a particular key of the remote controlindicated in the first GUI as a command to indicate a desire to cast avote related to video content. The command module 224 can be executableby the STB processor 204 to send a request to vote to the voting server232 in response to a selection of the particular key. Further, thecommand module 224 can be executable by the STB processor 204 to processkey selections received from the remote control device 218 in responseto the second GUI and to send payment information indicated by the keyselections to the voting server 232. In addition, the command module 224can be executable by the STB processor 204 to process one or more keyselections received from the remote control device 218 in response tothe third GUI and to send a selection of a voting option indicated bythe key selection(s) to the voting server 232. In another embodiment,the command module 224 can be executable by the STB processor 204 tosend data related to an entire ballot to the voting server 232 after avoting selection has been received from a user via the remote controldevice 218.

In an illustrative, non-limiting embodiment, the memory device 206 caninclude a user module 226 that is executable by the STB processor 204 toreceive login information from one or more users associated with theset-top box device 202. In a particular embodiment, data identifying auser logged in at the set-top box device 202 can be included withcommands sent to the voting server 232.

In a particular embodiment, the voting server 232 can include a votingserver processor 234. The voting server 232 can also include a votingserver memory device 236 that is accessible to the voting serverprocessor 234. In an illustrative, non-limiting embodiment, the votingserver memory device 236 can include a video content module 238 that isexecutable by the voting server processor 234 to send video content tothe set-top box device 202. Alternatively, a video server of the IPTVsystem can send the video content.

In a particular embodiment, the voting server memory device 236 caninclude a monitor module 240 that is executable by the voting serverprocessor 234 to monitor video content sent to the set-top box device202 for triggers or other data indicating a voting event. The votingserver memory device 236 can include an interfaces module 242 that isexecutable by the voting server processor 234 to send data related tothe first GUI to the set-top box device 202 when the voting server 232identifies data indicating a voting event in the video content. Further,in an illustrative embodiment, the interfaces module 242 can beexecutable by the voting server processor 234 to determine whetherpayment is required to cast a vote related to the video content and tosend data related to the second GUI to the set-top box device 202 whenpayment is required. The interfaces module 242 can also be executable bythe voting server processor 234 to send data related to the third GUI tothe set-top box device 202 in response to receiving data from theset-top box device 202 indicating a selection of an indicator in thefirst GUI; in response to receiving payment information from the set-topbox device 202; in response to verifying such payment information; orany combination thereof. In addition, the interfaces module 242 can beexecutable by the voting server processor 234 to process commands,requests, instructions, or any combination thereof, related to one ormore selections input by a user via the GUI's and sent by the set-topbox device 202.

In a particular embodiment, the voting server memory device 236 caninclude a vote tally and transfer module 244 that is executable by thevoting server processor 234 to add a voting selection received from theset-top box device 202 to a tally of votes associated with video contentto which the voting selection relates. Further, the tally and transfermodule 244 can be executable by the voting server processor 234 to storetallies of votes, to transfer tallies of votes to other devices withinor outside of the IPTV system, or any combination thereof.

In a particular embodiment, the voting server memory device 236 caninclude a vote status module 246 that is executable by the voting serverprocessor 234 to record whether the set-top box device 202 has or hasnot sent a voting selection related to particular video content to thevoting server 232. Further, the vote status module 246 is executable bythe voting server processor 234 to determine whether the set-top boxdevice 202 has sent a voting selection related to the video content tothe voting server 232 prior to sending a voting interface to the set-topbox device 202, accepting a vote from the set-top box device 202, addinga vote received from the set-top box device to a tally of votes, or anycombination thereof.

In a particular embodiment, the voting server memory device 236 caninclude a confirmation module 248 that is executable by the votingserver processor 234 to send a confirmation to the set-top box device202 after a voting selection is received, where the confirmationindicates that the voting selection has been received, has been added toa tally of votes, or any combination thereof. Further, in anillustrative embodiment, the confirmation module 248 can be executableby the voting server processor 234 to send a confirmation to a usercomputing device 250, a user Voice-over Internet Protocol (VoIP) phone252, or any combination thereof.

In an illustrative embodiment, the various modules 220-226 and 238-248can include logic, hardware, computer instructions, or any combinationthereof.

Referring to FIG. 3, a particular illustrative embodiment of a method ofvoting via an interactive television system is illustrated. At block300, a voting server of an Internet Protocol Television Protocol (IPTV)system monitors video content that is multicast to one or more set-topbox devices via a private access network of the IPTV system. Moving todecision node 302, the voting server determines whether it identifies atriggering event in the video content, such as data indicating thatvotes may be cast related to the video content. In a particularembodiment, the voting server can identify a triggering event as itoccurs in a stream of video data. In another particular embodiment, thevoting server can look ahead in the stream of video data to recognizetriggering events that will occur within a particular period of time,within a particular number or group of data packets, or any combinationthereof. If the voting server does not recognize a triggering event inthe video content, the method returns to block 300, and the votingserver continues monitoring video content. Whereas, if the voting serverrecognizes a triggering event, the method proceeds to block 304.

Proceeding to block 304, in an illustrative embodiment, the votingserver can multicast data related to a first graphical user interface(GUI), such as a pop-up interface, to the set-top box device(s)receiving the video content in which the triggering event has beenrecognized. Continuing to decision node 306, the voting serverdetermines whether it has received a request to vote from a set-top boxdevice in response to the first GUI. For instance, the voting server canreceive a command, data, or instruction from a set-top box deviceindicating that a particular key of a remote control device has beenselected, where the first GUI includes an instruction to select theparticular key in order to cast a vote related to the video content. Ifthe voting server determines that it has not received a request to votefrom a set-top box device, the method moves to decision node 307, andthe voting server determines whether there is more video content to bemonitored. If the voting server determines that there is more videocontent, the method returns to block 300. Conversely, if the votingserver determines that there is no more video content to be monitored,or no more of a particular video content to be monitored, the methodterminates at 326.

Returning to decision node 306, in a particular embodiment, if thevoting server determines that it has received a request to vote from aset-top box device, the method can proceed to block 308, and the votingserver can check a voting status associated with the set-top box device.For example, the voting server can store one or more records thatindicate whether a vote related to the video content has been receivedfrom the set-top box device, from a particular user logged in at aset-top box device, or any combination thereof. A voting status canindicate that a vote has been received, that a vote has not beenreceived, that voting related to certain video content is prohibited,that voting via the set-top box device is prohibited, or other statustypes.

Advancing to decision node 310, in an illustrative embodiment, thevoting server determines whether a vote related to the video content hasalready been received from the requesting set-top box device, a user ofthe set-top box device, or any combination thereof. If the voting serverdetermines that a vote related to the video content has already beenreceived from the requesting set-top box device, a user of the set-topbox device, or any combination thereof, the method can proceed todecision node 311, and the voting server can determine whether multiplevotes may be submitted by a single set-top box device, user, or anycombination thereof. If multiple votes may be submitted, the methodmoves to decision node 312 and continues. On the other hand, if multiplevotes may not be submitted, the method moves to block 320 and continues.

Returning to decision node 310, in a particular embodiment, if thevoting server determines that it has not received a vote related to thevideo content from the requesting set-top box device, the methodcontinues to decision node 312. At decision node 312, the voting servercan determine whether payment is required to cast a vote related to thevideo content. For example, a talent competition can charge $1.99 pervote. In an illustrative embodiment, an indication that payment is, oris not, required to cast a vote can be included in data related to thetriggering event or within other data of the video content.Alternatively, the voting server can store a list of video content orprograms that require or do not require payment to cast a vote.

If the voting server determines that payment is not required to cast avote related to the video content, the method advances to block 316.Whereas, if the voting server determines that payment is required tocast a vote, the method moves to block 314, and the voting server sendsdata related to a second GUI, such as a payment interface, to theset-top box device. In an illustrative embodiment, the voting server canopen a secure socket layer (SSL), or other secure connection, with theset-top box device before sending the second GUI. A user can interactwith the second GUI to input payment information, such as a financialaccount number, one or more authentication tokens, or any combinationthereof. The method proceeds to decision step 315, and the voting servercan determine whether payment information has been received. In anillustrative embodiment, the voting server can verify the paymentinformation by comparing it to information stored at a billing server ora server of a credit lender or other financial institution. If thevoting server determines that it has received payment information, themethod can return to decision node 307. Conversely, if the voting serverdetermines that it has received payment information, the method proceedsto block 316.

At block 316, the voting server send data related to a third GUI, suchas a ballot interface, to the requesting set-top box device. In aparticular embodiment, where multiple set-top box devices have requestedto cast a vote related to the video content, the voting server canmulticast the data related to the third GUI to the set-top box device.In an illustrative embodiment, the third GUI can include one or moreselectable voting options, such as a single performer name, multipleperformer names, a single polling option, multiple polling options(e.g., yes, no, more likely, less likely, for, against), or otherselectable voting options. A user can interact with the third GUI, forexample, via a remote control device communicating with the set-top boxdevice to input a voting selection. At block 318, the voting serverreceives the voting selection from the set-top box device. In anillustrative embodiment, the voting server can validate a source of thevoting selection to ensure that it came from the set-top box device andwas not corrupted, altered, or intercepted en route to the votingserver.

Proceeding to block 320, in a particular embodiment, the voting servercan send a confirmation to the set-top box device from which a votingselection is received indicating that the voting selection wassuccessfully received at the voting server. Moving to block 322, thevoting server can update a voting status associated with the set-top boxdevice, a user logged in at the set-top box device at the time a votewas received, or any combination thereof. Continuing to block 322, thevoting server can add the voting selection to a tally of votes, whichmay include only a highest vote recipient, a range of voting recipientsand their associated votes, or other distributions of votes and voterecipients. In an illustrative embodiment, the voting server can removeinformation identifying a set-top box device, a user, or any combinationthereof, from each voting selection prior to adding the voting selectionto the tally of votes. The method terminates at 326.

Returning to decision step 316, in an illustrative, non-limitingembodiment, if one or more newer or updated versions of the operatingsystem, client software, or any combination thereof, are available, themethod can move to block 318, and the application server can send, orinstruct a video server or other server of the IPTV system to send,video content of an update ordering channel to the set-top box device.Continuing to block 320, the application server can receive an order,payment, or any combination thereof, for the set-top box update and cansend updated versions of the operating system, client software, or anycombination thereof, to the set-top box device. In a particularembodiment, the method can return to decision step 306 and continues asdescribed. For example, and the application server can determine whetherthe set-top box device can support execution of the requestedapplication as a result of the update. The method terminates at 324.

Referring to FIG. 4, a second particular illustrative embodiment of amethod of voting via an interactive television system is illustrated. Ina particular embodiment, a set-top box device can receive multicastvideo content of a channel from a voting server, video server, D-server,or any combination thereof, of an Internet Protocol Television Protocol(IPTV) system. At block 402, the set-top box device can receivemulticast data related to a first graphical user interface (GUI), suchas a pop-up interface, from the voting server. In an illustrativeembodiment, the first GUI can include an instruction to select aparticular key, or any key, of a remote control device to indicate adesire to cast a vote related to the video content. The set-top boxdevice can send the first GUI to a display device coupled to the set-topbox device. If no command to cast a vote is received at the set-top boxdevice, the method can terminate at 420. Conversely, if a command tocast a vote is received at the set-top box device, the method proceedsto decision node 406.

At decision node 406, in an illustrative, non-limiting embodiment, theset-top box device can determine whether voting is allowed at theset-top box device. For instance, a user can select a preference orsetting at the set-top box device that prohibits voting at the set-topbox device, prohibits voters by certain users associated with theset-top box device, prohibits voting at the set-top box device withoutentering an authentication token, or any combination thereof. If theset-top box device determines that voting is not allowed at the set-topbox device, or that voting by a user logged in at the set-top box deviceis not allowed, the method terminates at 420. On the other hand, if theset-top box device determines that voting is allowed, the methodcontinues to block 408, and the set-top box device sends a request tocast a vote to the voting server.

Advancing to decision node 410, in an illustrative embodiment, theset-top box device can determine whether it has received data related toa payment interface from the voting server, indicating that payment isrequired to cast a vote related to the video content. If the set-top boxdevice determines that it has not received data related to a paymentinterface, the method advances to block 414. Whereas, if the set-top boxdevice determines that it has received data related to a paymentinterface, the method advances to decision node 412. At decision node412, the set-top box device determines whether it has received a commandto send payment information. For example, the set-top box device cansend the payment interface to a display device coupled to the set-topbox device. A user can interact with the payment interface to inputpayment information and can select a command to submit the paymentinformation. If the set-top box device determines that it has received acommand not to send payment information, the method terminates at 420.On the other hand, if the set-top box device determines that it hasreceived a command to send payment information, the method proceeds toblock 414.

At block 414, the set-top box receives data related to a third GUI, suchas a ballot interface from the voting server. In a particularembodiment, where multiple set-top box devices have requested to cast avote related to the video content, the voting server can multicast thedata related to the third GUI to the set-top box device. For example,the third GUI can include interactive video content of a voting channel.Alternatively, the third GUI can overlay the video content to whichvoting is related. In an illustrative embodiment, the third GUI caninclude one or more selectable voting options, such as a singleperformer name, multiple performer names, a single polling option,multiple polling options (e.g., yes, no, more likely, less likely, for,against), or other selectable voting options. A user can interact withthe third GUI, for example, via a remote control device communicatingwith the set-top box device to input a voting selection. At block 416,the set-top box device receives the voting selection from a user andsends the voting selection to the voting server. Continuing to block418, in an illustrative embodiment, the set-top box device can receive aconfirmation from the voting server indicating that the voting selectionhas been received. The method terminates at 420.

In a particular embodiment, the steps of the methods described hereincan be executed in the order shown by the figures. In alternativeembodiments, some steps can be executed simultaneously or in alternativesequences. For example, the voting server can send a payment interfaceafter a ballot interface, the voting server can check voting statusprior to sending the first GUI, etc.

Referring to FIG. 5, a particular illustrative embodiment of a graphicaluser interface (GUI) to vote via an interactive television system isillustrated and designated generally 500. In an illustrative embodiment,the GUI 500 can include a message 502 indicating that a particular key504 of a remote control device 506 that communicates with a set-top boxdevice 508 can be selected in order to cast a vote related to videocontent 510 shown on a display device 512 coupled to the set-top boxdevice 508. In a particular embodiment, the key 504 can be one of aplurality of programmable smart keys of the remote control device 506.

Referring to FIG. 6, a second particular illustrative embodiment of agraphical user interface (GUI) to vote via an interactive televisionsystem is illustrated and designated generally 600. In an illustrativeembodiment, the GUI 600 can include an indication 602 of the videocontent to which voting is related. In addition, the GUI 600 can includeone or more selectable voting options 604. A user can input a votingselection by selecting one of the selectable voting options. In anillustrative, non-limiting embodiment, the user can input a votingselection by pressing a key corresponding to a key indicator 606associated with one of the selectable voting options.

In conjunction with the configuration of structure described herein, thesystem and method disclosed provide voting via an interactive televisionsystem. In a particular illustrative embodiment, one or more set-top boxdevices can receive video content of a particular channel from a votingserver or multicast video server of an Internet Protocol Television(IPTV) system. A voting server of the IPTV system can monitor the videocontent for triggers or other data indicating a voting event. When avoting event is indicated, the voting server can multicast to theset-top box devices an indicator of an option to cast a vote related tothe video content. In a particular embodiment, the indicator can be afirst graphical user interface (GUI) that includes an instruction topress a particular key, or any key, on a remote control device in orderto cast a vote related to the video content. In an illustrativeembodiment, the indicator can be a pop-up interface.

In a particular embodiment, a user can issue a command at a set-top boxdevice indicating a selection to cast a vote related to the videocontent. In a particular embodiment, the command can be a selection of aparticular key, or any key, on a remote control device. In response tothe command, the set-top box device can send a request to vote to thevoting server. The voting server can send to the set-top box device avoting interface, such as a second GUI, that includes one or moreselectable voting options related to the video content. In oneembodiment, the second GUI can include video content of a votingchannel. In another embodiment, the second GUI can overlay video contentto which voting is related. A user can enter a selection of a votingoption via the voting interface, and the set-top box device can send thevoting selection to the voting server. The voting server can add theselection of the voting option to a tally of votes related to the videocontent.

In a particular embodiment, the voting server can determine whetherpayment is required in order to cast a vote related to the videocontent. If the voting server determines that payment is required tocast a vote related to video content, the voting server can send to theset-top box device a payment interface, such as a third GUI, that allowsa user to input payment information, such as a financial account numberor other payment information.

In an illustrative embodiment, the voting server 182 can send aconfirmation to the set-top box device indicating that a votingselection has been received at the voting server, that the votingselection has been added to the tally of votes, or any combinationthereof. Further, in an illustrative non-limiting embodiment, the votingserver can send a confirmation to one or more computing devices,Voice-over Internet Protocol (VoIP) phones, or other devices associatedwith the set-top box device.

In an illustrative embodiment, the voting server can transfer votingselections, tallies of voting selections, or any combination thereof, toservers, data stores, or other devices within or outside of the IPTVsystem. For example, the voting server can send tallies of votes to adata store or server associated with a television program, televisionchannel, voting certification entity, or other party. In anotherexample, the voting server can store tallies of votes as customer-widepolls.

Referring to FIG. 7, an illustrative embodiment of a general computersystem is shown and is designated 700. The computer system 700 caninclude a set of instructions that can be executed to cause the computersystem 700 to perform any one or more of the methods or computer basedfunctions disclosed herein. The computer system 700, or any portionthereof, may operate as a standalone device or may be connected, e.g.,using a network, to other computer systems or peripheral devices,including a server or set-top box device, as shown in FIGS. 1-2.

In a networked deployment, the computer system may operate in thecapacity of an IPTV server, such as a multicast video server or votingserver, or a set-top box device. The computer system 700 can also beimplemented as or incorporated into various devices, such as a personalcomputer (PC), a tablet PC, a set-top box (STB), a personal digitalassistant (PDA), a mobile device, a palmtop computer, a laptop computer,a desktop computer, a communications device, a wireless telephone, aland-line telephone, a control system, a camera, a scanner, a facsimilemachine, a printer, a pager, a personal trusted device, a web appliance,a network router, switch or bridge, or any other machine capable ofexecuting a set of instructions (sequential or otherwise) that specifyactions to be taken by that machine. In a particular embodiment, thecomputer system 700 can be implemented using electronic devices thatprovide voice, video or data communication. Further, while a singlecomputer system 700 is illustrated, the term “system” shall also betaken to include any collection of systems or sub-systems thatindividually or jointly execute a set, or multiple sets, of instructionsto perform one or more computer functions.

As illustrated in FIG. 7, the computer system 700 may include aprocessor 702, e.g., a central processing unit (CPU), agraphics-processing unit (GPU), or both. Moreover, the computer system700 can include a main memory 704 and a static memory 706 that cancommunicate with each other via a bus 708. As shown, the computer system700 may further include a video display unit 710, such as a liquidcrystal display (LCD), an organic light emitting diode (OLED), a flatpanel display, a solid state display, or a cathode ray tube (CRT).Additionally, the computer system 700 may include an input device 712,such as a keyboard, and a cursor control device 714, such as a mouse.Further, the computer system 700 can include a wireless input device715, e.g., a remote control device. The computer system 700 can alsoinclude a disk drive unit 716, a signal generation device 718, such as aspeaker or remote control, and a network interface device 720.

In a particular embodiment, as depicted in FIG. 7, the disk drive unit716 may include a computer-readable medium 722 in which one or more setsof instructions 724, e.g. software, can be embedded. Further, theinstructions 724 may embody one or more of the methods or logic asdescribed herein. In a particular embodiment, the instructions 724 mayreside completely, or at least partially, within the main memory 704,the static memory 706, and/or within the processor 702 during executionby the computer system 700. The main memory 704 and the processor 702also may include computer-readable media.

In an alternative embodiment, dedicated hardware implementations, suchas application specific integrated circuits, programmable logic arraysand other hardware devices, can be constructed to implement one or moreof the methods described herein. Applications that may include theapparatus and systems of various embodiments can broadly include avariety of electronic and computer systems. One or more embodimentsdescribed herein may implement functions using two or more specificinterconnected hardware modules or devices with related control and datasignals that can be communicated between and through the modules, or asportions of an application-specific integrated circuit. Accordingly, thepresent system encompasses software, firmware, and hardwareimplementations.

In accordance with various embodiments of the present disclosure, themethods described herein may be implemented by software programsexecutable by a computer system. Further, in an exemplary, non-limitedembodiment, implementations can include distributed processing,component/object distributed processing, and parallel processing.Alternatively, virtual computer system processing can be constructed toimplement one or more of the methods or functionality as describedherein.

The present disclosure contemplates a computer-readable medium thatincludes instructions 724 or receives and executes instructions 724responsive to a propagated signal, so that a device connected to anetwork 726 can communicate voice, video or data over the network 726.Further, the instructions 724 may be transmitted or received over thenetwork 726 via the network interface device 720.

While the computer-readable medium is shown to be a single medium, theterm “computer-readable medium” includes a single medium or multiplemedia, such as a centralized or distributed database, and/or associatedcaches and servers that store one or more sets of instructions. The term“computer-readable medium” shall also include any medium that is capableof storing, encoding or carrying a set of instructions for execution bya processor or that cause a computer system to perform any one or moreof the methods or operations disclosed herein.

In a particular non-limiting, exemplary embodiment, thecomputer-readable medium can include a solid-state memory such as amemory card or other package that houses one or more non-volatileread-only memories. Further, the computer-readable medium can be arandom access memory or other volatile re-writable memory. Additionally,the computer-readable medium can include a magneto-optical or opticalmedium, such as a disk or tapes or other storage device to capturecarrier wave signals such as a signal communicated over a transmissionmedium. A digital file attachment to an e-mail or other self-containedinformation archive or set of archives may be considered a distributionmedium that is equivalent to a tangible storage medium. Accordingly, thedisclosure is considered to include any one or more of acomputer-readable medium or a distribution medium and other equivalentsand successor media, in which data or instructions may be stored.

In accordance with various embodiments, the methods described herein maybe implemented as one or more software programs running on a computerprocessor. Dedicated hardware implementations including, but not limitedto, application specific integrated circuits, programmable logic arraysand other hardware devices can likewise be constructed to implement themethods described herein. Furthermore, alternative softwareimplementations including, but not limited to, distributed processing orcomponent/object distributed processing, parallel processing, or virtualmachine processing can also be constructed to implement the methodsdescribed herein.

It should also be noted that software that implements the disclosedmethods may optionally be stored on a tangible storage medium, such as:a magnetic medium, such as a disk or tape; a magneto-optical or opticalmedium, such as a disk; or a solid state medium, such as a memory cardor other package that houses one or more read-only (non-volatile)memories, random access memories, or other re-writable (volatile)memories. The software may also utilize a signal containing computerinstructions. A digital file attachment to e-mail or otherself-contained information archive or set of archives is considered adistribution medium equivalent to a tangible storage medium.Accordingly, the disclosure is considered to include a tangible storagemedium or distribution medium as listed herein, and other equivalentsand successor media, in which the software implementations herein may bestored.

Although the present specification describes components and functionsthat may be implemented in particular embodiments with reference toparticular standards and protocols, the invention is not limited to suchstandards and protocols. For example, standards for Internet and otherpacket switched network transmission (e.g., TCP/IP, UDP/IP, HTML, HTTP)represent examples of the state of the art. Such standards areperiodically superseded by faster or more efficient equivalents havingessentially the same functions. Accordingly, replacement standards andprotocols having the same or similar functions as those disclosed hereinare considered equivalents thereof.

The illustrations of the embodiments described herein are intended toprovide a general understanding of the structure of the variousembodiments. The illustrations are not intended to serve as a completedescription of all of the elements and features of apparatus and systemsthat utilize the structures or methods described herein. Many otherembodiments may be apparent to those of skill in the art upon reviewingthe disclosure. Other embodiments may be utilized and derived from thedisclosure, such that structural and logical substitutions and changesmay be made without departing from the scope of the disclosure.Additionally, the illustrations are merely representational and may notbe drawn to scale. Certain proportions within the illustrations may beexaggerated, while other proportions may be minimized. Accordingly, thedisclosure and the figures are to be regarded as illustrative ratherthan restrictive.

One or more embodiments of the disclosure may be referred to herein,individually and/or collectively, by the term “invention” merely forconvenience and without intending to voluntarily limit the scope of thisapplication to any particular invention or inventive concept. Moreover,although specific embodiments have been illustrated and describedherein, it should be appreciated that any subsequent arrangementdesigned to achieve the same or similar purpose may be substituted forthe specific embodiments shown. This disclosure is intended to cover anyand all subsequent adaptations or variations of various embodiments.Combinations of the above embodiments, and other embodiments notspecifically described herein, will be apparent to those of skill in theart upon reviewing the description.

The Abstract of the Disclosure is provided to comply with 37 C.F.R.§1.72(b) and is submitted with the understanding that it will not beused to interpret or limit the scope or meaning of the claims. Inaddition, in the foregoing Detailed Description, various features may begrouped together or described in a single embodiment for the purpose ofstreamlining the disclosure. This disclosure is not to be interpreted asreflecting an intention that the claimed embodiments require morefeatures than are expressly recited in each claim. Rather, as thefollowing claims reflect, inventive subject matter may be directed toless than all of the features of any of the disclosed embodiments. Thus,the following claims are incorporated into the Detailed Description,with each claim standing on its own as defining separately claimedsubject matter.

The above-disclosed subject matter is to be considered illustrative, andnot restrictive, and the appended claims are intended to cover all suchmodifications, enhancements, and other embodiments, which fall withinthe true spirit and scope of the present invention. Thus, to the maximumextent allowed by law, the scope of the present invention is to bedetermined by the broadest permissible interpretation of the followingclaims and their equivalents, and shall not be restricted or limited bythe foregoing detailed description.

1. A method of voting via an interactive television system, the methodcomprising: identifying data embedded within video content sent to aset-top box device via an access network of an Internet ProtocolTelevision (IPTV) system, the data indicating a voting event related tothe video content; sending data related to a voting indicator to theset-top box device, wherein the voting indicator includes a selectableindicator of an option to cast a vote related to the video content;determining whether payment information is required in order to accept avote related to the video content; sending data related to a votinginterface to the set-top box device; receiving a voting selection fromthe set-top box device; adding the voting selection to a tally of votesrelated to the video content when a voting status indicates that aprevious vote has not been received from the set-top box device; andchanging the voting status to indicate that a vote has been receivedfrom the set-top box device upon addition of the voting selection to thetally of votes.
 2. The method of claim 1, wherein a user can input thevoting selection via the voting interface.
 3. The method of claim 2,wherein the voting interface includes a ballot interface and the votingselection is one of a plurality of selectable voting selections includedin the ballot interface.
 4. The method of claim 1, further comprisingsending a payment interface to the set-top box device when paymentinformation is required in order to accept a vote, wherein a user caninteract with the payment interface to input payment information.
 5. Themethod of claim 4, further comprising establishing a secure connectionwith the set-top box device before sending the payment interface, thevoting interface, or any combination thereof.
 6. The method of claim 1,wherein the voting interface is sent after payment information isreceived from the set-top box device.
 7. The method of claim 6, furthercomprising comparing the payment information to information stored at abilling server of the IPTV system, wherein the voting interface is sentto the set-top box device when the payment information matches thestored information.
 8. The method of claim 6, further comprisingverifying the payment information prior to sending the voting interfaceto the set-top box device.
 9. The method of claim 1, wherein the videocontent is IPTV Motion Picture Experts Group-4 (MPEG-4) channel contentmulticast to the set-top box device via a MPEG-2 transport stream. 10.The method of claim 1, further comprising checking the voting statusassociated with the set-top box device prior to receiving the votingselection.
 11. The method of claim 1, further comprising: not adding thevoting selection to the tally of votes related to the video content whenthe voting status indicates that a previous vote has been received fromthe set-top box device; and sending a message to the set-top box device,wherein the message indicates that a previous vote related to the videocontent has been received from the set-top box device.
 12. The method ofclaim 1, further comprising sending a confirmation to the set-top boxdevice, wherein the confirmation indicates that the voting selection hasbeen received.
 13. The method of claim 12, further comprising sendingthe confirmation to a Voice-over Internet Protocol (VoIP) phone, acomputing device of the user, or any combination thereof.
 14. A methodof voting via an interactive television system, the method comprising:receiving video content at a set-top box device via an access network ofan Internet Protocol Television (IPTV) system; receiving data related toa voting indicator at the set-top box device from a server of the IPTVsystem, wherein the voting indicator includes an instruction to select akey of a remote control communicating with the set-top box device tocast a vote related to the video content; sending a request to theserver to cast a vote related to the video content in response to aselection of the key at the remote control; sending payment informationto the server, wherein the payment information is received at theset-top box device via a payment interface; and receiving data relatedto a voting interface from the server; wherein the instruction to selectthe key of the remote control ceases to be sent to a display device whenthe key of the remote control is not selected within a time period. 15.The method of claim 14, further comprising receiving data related to apayment interface from the server when payment is required to cast avote related to the video content.
 16. The method of claim 14, whereinthe voting interface includes at least one selectable voting optionrelated to the video content.
 17. The method of claim 14, wherein thevideo content is received from a voting server of the IPTV system. 18.The method of claim 14, wherein the video content is received from amulticast server of the IPTV system.
 19. The method of claim 14, whereinthe key of the remote control is a programmable smart key.
 20. A set-topbox device, comprising: a processor and a memory device accessible tothe processor; wherein the memory device includes instructions tocommunicate with a server of an Internet Protocol Television (IPTV)system to receive video content via a private access network of the IPTVsystem; wherein the memory device includes instructions to communicatewith a voting server of the IPTV system to receive data related to afirst graphical user interface (GUI), wherein the first GUI includes aninstruction to select a key of a remote control to cast a vote relatedto the video content; wherein the memory device includes instructions tosend a request to the voting server to cast a vote related the videocontent in response to a selection of the key at the remote control;wherein the memory device includes instructions to communicate with thevoting server to receive data related to a second GUI and to sendpayment information received from a user via the second GUI to thevoting server; wherein the memory device includes instructions tocommunicate with the voting server to receive data related to a thirdGUI, wherein the third GUI includes at least one selectable votingoption related to the video content, and wherein the memory deviceincludes instructions to cease sending the first GUI to a display devicewhen the key of the remote control is not selected within a time period.21. The set-top box device of claim 20, wherein the memory deviceincludes instructions to send data related to a selection of a votingoption to the voting server.
 22. The set-top box device of claim 20,wherein the memory device includes instructions to prompt the user foran authentication token before sending the request to the voting server.23. The set-top box device of claim 20, wherein the third GUI includes aplurality of selectable voting options, each of the voting optionscorresponding to one of a plurality of keys of the remote control.
 24. Acomputer-readable medium having a group of instructions executable to:send data related to a voting indicator to a set-top box device, whereinthe voting indicator includes a selectable indicator of an option tocast a vote related to video content received at the set-top box device;send data related to a voting interface to the set-top box device afterpayment information is received from the set-top box device; add avoting selection to a tally of votes related to the video content when avoting status indicates that a previous vote has not been received fromthe set-top box device; and change the voting status to indicate that avote has been received from the set-top box device upon addition of thevoting selection to the tally of votes.
 25. The computer-readable mediumof claim 24, further comprising instructions to determine whetherpayment information is required in order to accept a vote related to thevideo content from the set-top box device.
 26. The computer-readablemedium of claim 24, wherein a requirement for payment information isdetermined based on data embedded within the video content.
 27. Thecomputer-readable medium of claim 24, further comprising instructions togenerate the voting interface based on data related to at least oneselectable voting option embedded within the video content.
 28. Thecomputer-readable medium of claim 24, further comprising instructions toidentify data embedded within video content sent to the set-top boxdevice via an access network of an Internet Protocol Television (IPTV)system, the data indicating a voting event related to the video content.